<?php
/**
 * TransferScheduleApiTest
 * PHP version 8.3
 *
 * @category Class
 * @package  SpApi
 * @author   OpenAPI Generator team
 * @link     https://openapi-generator.tech
 */

/**
 * The Selling Partner API for Amazon Seller Wallet Open Banking API
 *
 * The Selling Partner API for Seller Wallet (Seller Wallet API) provides financial information that is relevant to a seller's Seller Wallet account. You can obtain financial events, balances, and transfer schedules for Seller Wallet accounts. You can also schedule and initiate transactions.
 *
 * The version of the OpenAPI document: 2024-03-01
 * Generated by: https://openapi-generator.tech
 * Generator version: 7.9.0
 */

/**
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Please update the test case below to test the endpoint.
 */

namespace SpApi\Test\Api;

use SpApi\ApiException;
use SpApi\Api\sellerWallet\v2024_03_01\TransferScheduleApi;
use SpApi\ObjectSerializer;

/**
 * TransferScheduleApiTest Class Doc Comment
 *
 * @category Class
 * @package  SpApi
 * @author   OpenAPI Generator team
 * @link     https://openapi-generator.tech
 */
class TransferScheduleApiTest extends BaseTestCase
{
    private TransferScheduleApi $apiInstance;
    public function setUp(): void
    {
        parent::setUp();
        // Initialize parameter value specific to case
        $this->testHelper->setSpecificValue('TransferScheduleApi', $this->getName());
        $this->apiInstance = new TransferScheduleApi($this->config, null);
        // Change Time Format if it requires
        $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('TransferScheduleApi');
        if ($specificTimeFormat) {
            ObjectSerializer::setDateTimeFormat($specificTimeFormat);
        }
    }

    /**
     * Test case for createTransferSchedule_200
     */
    public function testCreateTransferSchedule200()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testCreateTransferSchedule200', 'TransferScheduleApi')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;Success&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    },
    &quot;x-amzn-RateLimit-Limit&quot; : {
      &quot;description&quot; : &quot;Your rate limit (requests per second) for this operation.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : {
    &quot;application/json&quot; : {
      &quot;schema&quot; : {
        &quot;$ref&quot; : &quot;#/components/schemas/TransferSchedule&quot;
      }
    }
  },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;body&quot; : {
            &quot;value&quot; : {
              &quot;sourceAccountId&quot; : &quot;amzn1.account.SMUGN2EN3ZHWSRJKH2KCJPII5JEI&quot;,
              &quot;destinationAccountId&quot; : &quot;amzn1.account.AJKBFWEJFBNH2KCJPII5FBN&quot;,
              &quot;sourceCurrencyCode&quot; : &quot;USD&quot;,
              &quot;destinationTransactionInstrument&quot; : {
                &quot;bankAccount&quot; : {
                  &quot;accountHolderName&quot; : &quot;John Doe&quot;,
                  &quot;bankNumberFormat&quot; : &quot;IBAN&quot;,
                  &quot;bankAccountOwnershipType&quot; : &quot;SELF_ACCOUNT&quot;,
                  &quot;routingNumber&quot; : &quot;HBUKGB4B&quot;,
                  &quot;accountCountryCode&quot; : &quot;EU&quot;,
                  &quot;accountCurrency&quot; : &quot;EUR&quot;,
                  &quot;bankAccountNumberTail&quot; : &quot;819&quot;
                },
                &quot;bankAccountNumber&quot; : &quot;GB29RBOS60161331926819&quot;
              },
              &quot;transactionType&quot; : &quot;DEBIT&quot;,
              &quot;transferScheduleInformation&quot; : {
                &quot;scheduleStartDate&quot; : &quot;2024-03-01T00:00:00Z&quot;,
                &quot;scheduleEndDate&quot; : &quot;2027-03-01T00:00:00Z&quot;,
                &quot;scheduleExpression&quot; : {
                  &quot;scheduleExpressionType&quot; : &quot;RECURRING&quot;,
                  &quot;recurringFrequency&quot; : &quot;WEEKLY&quot;
                },
                &quot;scheduleType&quot; : &quot;TIME_BASED&quot;
              },
              &quot;paymentPreference&quot; : {
                &quot;paymentPreferencePaymentType&quot; : &quot;PERCENTAGE&quot;,
                &quot;value&quot; : 25.5
              },
              &quot;transferScheduleStatus&quot; : &quot;ENABLED&quot;
            }
          }
        }
      },
      &quot;response&quot; : {
        &quot;transferScheduleId&quot; : &quot;amzn1.transferschedule.SMUGN2EN3ZHWSRJKH2KCJPII5JEI&quot;,
        &quot;transactionType&quot; : &quot;DEBIT&quot;,
        &quot;transactionSourceAccount&quot; : {
          &quot;accountId&quot; : &quot;amzn.account.AAJKBWEF193EUBKWDVCS&quot;,
          &quot;bankAccountHolderName&quot; : &quot;John Doe&quot;,
          &quot;bankName&quot; : &quot;Amazon Seller Wallet&quot;,
          &quot;bankAccountNumberFormat&quot; : &quot;IBAN&quot;,
          &quot;bankAccountNumberTail&quot; : &quot;123&quot;,
          &quot;bankAccountCurrency&quot; : &quot;GBP&quot;
        },
        &quot;transactionDestinationAccount&quot; : {
          &quot;bankAccountHolderName&quot; : &quot;Dane Shipping&quot;,
          &quot;bankName&quot; : &quot;Royal Bank of Scotland&quot;,
          &quot;bankAccountNumberFormat&quot; : &quot;IBAN&quot;,
          &quot;bankAccountNumberTail&quot; : &quot;819&quot;,
          &quot;bankAccountCurrency&quot; : &quot;GBP&quot;,
          &quot;bankAccountCountryCode&quot; : &quot;EU&quot;
        },
        &quot;transferScheduleStatus&quot; : &quot;ENABLED&quot;,
        &quot;transferScheduleInformation&quot; : {
          &quot;scheduleStartDate&quot; : &quot;2024-03-01T00:00:00Z&quot;,
          &quot;scheduleEndDate&quot; : &quot;2027-03-01T00:00:00Z&quot;,
          &quot;scheduleExpression&quot; : {
            &quot;scheduleExpressionType&quot; : &quot;RECURRING&quot;,
            &quot;recurringFrequency&quot; : &quot;WEEKLY&quot;
          },
          &quot;scheduleType&quot; : &quot;TIME_BASED&quot;
        },
        &quot;paymentPreference&quot; : {
          &quot;paymentPreferencePaymentType&quot; : &quot;PERCENTAGE&quot;,
          &quot;value&quot; : 25.5
        },
        &quot;transferScheduleFailures&quot; : [ {
          &quot;transferScheduleFailureDate&quot; : &quot;2024-03-01T10:30:00Z&quot;,
          &quot;transferScheduleFailureReason&quot; : &quot;INSUFFICIENT_BALANCE&quot;
        } ]
      }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'createTransferSchedule'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('TransferScheduleApi');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->createTransferScheduleWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(200, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 200, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 200);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for createTransferSchedule_400
     */
    public function testCreateTransferSchedule400()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testCreateTransferSchedule400', 'TransferScheduleApi')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;Request has missing or invalid parameters and cannot be parsed.&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    },
    &quot;x-amzn-RateLimit-Limit&quot; : {
      &quot;description&quot; : &quot;Your rate limit (requests per second) for this operation.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : {
    &quot;application/json&quot; : {
      &quot;schema&quot; : {
        &quot;$ref&quot; : &quot;#/components/schemas/ErrorList&quot;
      }
    }
  },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;body&quot; : {
            &quot;value&quot; : {
              &quot;sourceAccountId&quot; : &quot;sourceAccountIdCase400&quot;,
              &quot;destinationAccountId&quot; : &quot;amzn1.account.AJKBFWEJFBNH2KCJPII5FBN&quot;,
              &quot;sourceCurrencyCode&quot; : &quot;USD&quot;,
              &quot;destinationTransactionInstrument&quot; : {
                &quot;bankAccount&quot; : {
                  &quot;accountHolderName&quot; : &quot;John Doe&quot;,
                  &quot;bankNumberFormat&quot; : &quot;IBAN&quot;,
                  &quot;bankAccountOwnershipType&quot; : &quot;SELF_ACCOUNT&quot;,
                  &quot;routingNumber&quot; : &quot;HBUKGB4B&quot;,
                  &quot;accountCountryCode&quot; : &quot;EU&quot;,
                  &quot;accountCurrency&quot; : &quot;EUR&quot;,
                  &quot;bankAccountNumberTail&quot; : &quot;819&quot;
                },
                &quot;bankAccountNumber&quot; : &quot;GB29RBOS60161331926819&quot;
              },
              &quot;transactionType&quot; : &quot;DEBIT&quot;,
              &quot;transferScheduleInformation&quot; : {
                &quot;scheduleStartDate&quot; : &quot;2024-03-01T00:00:00Z&quot;,
                &quot;scheduleEndDate&quot; : &quot;2027-03-01T00:00:00Z&quot;,
                &quot;scheduleExpression&quot; : {
                  &quot;scheduleExpressionType&quot; : &quot;RECURRING&quot;,
                  &quot;recurringFrequency&quot; : &quot;WEEKLY&quot;
                },
                &quot;scheduleType&quot; : &quot;TIME_BASED&quot;
              },
              &quot;paymentPreference&quot; : {
                &quot;paymentPreferencePaymentType&quot; : &quot;PERCENTAGE&quot;,
                &quot;value&quot; : 25.5
              },
              &quot;transferScheduleStatus&quot; : &quot;ENABLED&quot;
            }
          }
        }
      },
      &quot;response&quot; : {
        &quot;errors&quot; : [ {
          &quot;code&quot; : &quot;InvalidInput&quot;,
          &quot;message&quot; : &quot;Invalid or Missing signature.&quot;,
          &quot;details&quot; : &quot;Missing addressDigitalSignature&quot;
        } ]
      }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'createTransferSchedule'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('TransferScheduleApi');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->createTransferScheduleWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(400, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 400, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 400);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for createTransferSchedule_403
     */
    public function testCreateTransferSchedule403()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testCreateTransferSchedule403', 'TransferScheduleApi')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : {
    &quot;application/json&quot; : {
      &quot;schema&quot; : {
        &quot;$ref&quot; : &quot;#/components/schemas/ErrorList&quot;
      }
    }
  },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;body&quot; : {
            &quot;value&quot; : {
              &quot;sourceAccountId&quot; : &quot;sourceAccountIdCase403&quot;,
              &quot;destinationAccountId&quot; : &quot;amzn1.account.AJKBFWEJFBNH2KCJPII5FBN&quot;,
              &quot;sourceCurrencyCode&quot; : &quot;USD&quot;,
              &quot;destinationTransactionInstrument&quot; : {
                &quot;bankAccount&quot; : {
                  &quot;accountHolderName&quot; : &quot;John Doe&quot;,
                  &quot;bankNumberFormat&quot; : &quot;IBAN&quot;,
                  &quot;bankAccountOwnershipType&quot; : &quot;SELF_ACCOUNT&quot;,
                  &quot;routingNumber&quot; : &quot;HBUKGB4B&quot;,
                  &quot;accountCountryCode&quot; : &quot;EU&quot;,
                  &quot;accountCurrency&quot; : &quot;EUR&quot;,
                  &quot;bankAccountNumberTail&quot; : &quot;819&quot;
                },
                &quot;bankAccountNumber&quot; : &quot;GB29RBOS60161331926819&quot;
              },
              &quot;transactionType&quot; : &quot;DEBIT&quot;,
              &quot;transferScheduleInformation&quot; : {
                &quot;scheduleStartDate&quot; : &quot;2024-03-01T00:00:00Z&quot;,
                &quot;scheduleEndDate&quot; : &quot;2027-03-01T00:00:00Z&quot;,
                &quot;scheduleExpression&quot; : {
                  &quot;scheduleExpressionType&quot; : &quot;RECURRING&quot;,
                  &quot;recurringFrequency&quot; : &quot;WEEKLY&quot;
                },
                &quot;scheduleType&quot; : &quot;TIME_BASED&quot;
              },
              &quot;paymentPreference&quot; : {
                &quot;paymentPreferencePaymentType&quot; : &quot;PERCENTAGE&quot;,
                &quot;value&quot; : 25.5
              },
              &quot;transferScheduleStatus&quot; : &quot;ENABLED&quot;
            }
          }
        }
      },
      &quot;response&quot; : {
        &quot;errors&quot; : [ {
          &quot;code&quot; : &quot;UnauthorizedRequest&quot;,
          &quot;message&quot; : &quot;Invalid WAC certificate.&quot;,
          &quot;details&quot; : &quot;NCA Status for the certificate is invalid&quot;
        } ]
      }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'createTransferSchedule'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('TransferScheduleApi');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->createTransferScheduleWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(403, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 403, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 403);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for createTransferSchedule_404
     */
    public function testCreateTransferSchedule404()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testCreateTransferSchedule404', 'TransferScheduleApi')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;The resource specified does not exist.&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    },
    &quot;x-amzn-RateLimit-Limit&quot; : {
      &quot;description&quot; : &quot;Your rate limit (requests per second) for this operation.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : {
    &quot;application/json&quot; : {
      &quot;schema&quot; : {
        &quot;$ref&quot; : &quot;#/components/schemas/ErrorList&quot;
      }
    }
  },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;body&quot; : {
            &quot;value&quot; : {
              &quot;sourceAccountId&quot; : &quot;sourceAccountIdCase404&quot;,
              &quot;destinationAccountId&quot; : &quot;amzn1.account.AJKBFWEJFBNH2KCJPII5FBN&quot;,
              &quot;sourceCurrencyCode&quot; : &quot;USD&quot;,
              &quot;destinationTransactionInstrument&quot; : {
                &quot;bankAccount&quot; : {
                  &quot;accountHolderName&quot; : &quot;John Doe&quot;,
                  &quot;bankNumberFormat&quot; : &quot;IBAN&quot;,
                  &quot;bankAccountOwnershipType&quot; : &quot;SELF_ACCOUNT&quot;,
                  &quot;routingNumber&quot; : &quot;HBUKGB4B&quot;,
                  &quot;accountCountryCode&quot; : &quot;EU&quot;,
                  &quot;accountCurrency&quot; : &quot;EUR&quot;,
                  &quot;bankAccountNumberTail&quot; : &quot;819&quot;
                },
                &quot;bankAccountNumber&quot; : &quot;GB29RBOS60161331926819&quot;
              },
              &quot;transactionType&quot; : &quot;DEBIT&quot;,
              &quot;transferScheduleInformation&quot; : {
                &quot;scheduleStartDate&quot; : &quot;2024-03-01T00:00:00Z&quot;,
                &quot;scheduleEndDate&quot; : &quot;2027-03-01T00:00:00Z&quot;,
                &quot;scheduleExpression&quot; : {
                  &quot;scheduleExpressionType&quot; : &quot;RECURRING&quot;,
                  &quot;recurringFrequency&quot; : &quot;WEEKLY&quot;
                },
                &quot;scheduleType&quot; : &quot;TIME_BASED&quot;
              },
              &quot;paymentPreference&quot; : {
                &quot;paymentPreferencePaymentType&quot; : &quot;PERCENTAGE&quot;,
                &quot;value&quot; : 25.5
              },
              &quot;transferScheduleStatus&quot; : &quot;ENABLED&quot;
            }
          }
        }
      },
      &quot;response&quot; : {
        &quot;errors&quot; : [ {
          &quot;code&quot; : &quot;NotFound&quot;,
          &quot;message&quot; : &quot;Account not found.&quot;,
          &quot;details&quot; : &quot;Account doesn&#39;t exists for invalid SourceAccountId&quot;
        } ]
      }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'createTransferSchedule'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('TransferScheduleApi');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->createTransferScheduleWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(404, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 404, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 404);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for createTransferSchedule_408
     */
    public function testCreateTransferSchedule408()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testCreateTransferSchedule408', 'TransferScheduleApi')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;Request Timed Out.&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : {
    &quot;application/json&quot; : {
      &quot;schema&quot; : {
        &quot;$ref&quot; : &quot;#/components/schemas/ErrorList&quot;
      }
    }
  },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;body&quot; : {
            &quot;value&quot; : {
              &quot;sourceAccountId&quot; : &quot;sourceAccountIdCase408&quot;,
              &quot;destinationAccountId&quot; : &quot;amzn1.account.AJKBFWEJFBNH2KCJPII5FBN&quot;,
              &quot;sourceCurrencyCode&quot; : &quot;USD&quot;,
              &quot;destinationTransactionInstrument&quot; : {
                &quot;bankAccount&quot; : {
                  &quot;accountHolderName&quot; : &quot;John Doe&quot;,
                  &quot;bankNumberFormat&quot; : &quot;IBAN&quot;,
                  &quot;bankAccountOwnershipType&quot; : &quot;SELF_ACCOUNT&quot;,
                  &quot;routingNumber&quot; : &quot;HBUKGB4B&quot;,
                  &quot;accountCountryCode&quot; : &quot;EU&quot;,
                  &quot;accountCurrency&quot; : &quot;EUR&quot;,
                  &quot;bankAccountNumberTail&quot; : &quot;819&quot;
                },
                &quot;bankAccountNumber&quot; : &quot;GB29RBOS60161331926819&quot;
              },
              &quot;transactionType&quot; : &quot;DEBIT&quot;,
              &quot;transferScheduleInformation&quot; : {
                &quot;scheduleStartDate&quot; : &quot;2024-03-01T00:00:00Z&quot;,
                &quot;scheduleEndDate&quot; : &quot;2027-03-01T00:00:00Z&quot;,
                &quot;scheduleExpression&quot; : {
                  &quot;scheduleExpressionType&quot; : &quot;RECURRING&quot;,
                  &quot;recurringFrequency&quot; : &quot;WEEKLY&quot;
                },
                &quot;scheduleType&quot; : &quot;TIME_BASED&quot;
              },
              &quot;paymentPreference&quot; : {
                &quot;paymentPreferencePaymentType&quot; : &quot;PERCENTAGE&quot;,
                &quot;value&quot; : 25.5
              },
              &quot;transferScheduleStatus&quot; : &quot;ENABLED&quot;
            }
          }
        }
      },
      &quot;response&quot; : {
        &quot;errors&quot; : [ {
          &quot;code&quot; : &quot;RequestTimedOut&quot;,
          &quot;message&quot; : &quot;Request Timed Out&quot;,
          &quot;details&quot; : &quot;Server did not respond in time&quot;
        } ]
      }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'createTransferSchedule'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('TransferScheduleApi');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->createTransferScheduleWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(408, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 408, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 408);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for createTransferSchedule_409
     */
    public function testCreateTransferSchedule409()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testCreateTransferSchedule409', 'TransferScheduleApi')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;Transfer schedule already exists for same source and destination account combination.&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : {
    &quot;application/json&quot; : {
      &quot;schema&quot; : {
        &quot;$ref&quot; : &quot;#/components/schemas/ErrorList&quot;
      }
    }
  },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;body&quot; : {
            &quot;value&quot; : {
              &quot;sourceAccountId&quot; : &quot;sourceAccountIdCase409&quot;,
              &quot;destinationAccountId&quot; : &quot;amzn1.account.AJKBFWEJFBNH2KCJPII5FBN&quot;,
              &quot;sourceCurrencyCode&quot; : &quot;USD&quot;,
              &quot;destinationTransactionInstrument&quot; : {
                &quot;bankAccount&quot; : {
                  &quot;accountHolderName&quot; : &quot;John Doe&quot;,
                  &quot;bankNumberFormat&quot; : &quot;IBAN&quot;,
                  &quot;bankAccountOwnershipType&quot; : &quot;SELF_ACCOUNT&quot;,
                  &quot;routingNumber&quot; : &quot;HBUKGB4B&quot;,
                  &quot;accountCountryCode&quot; : &quot;EU&quot;,
                  &quot;accountCurrency&quot; : &quot;EUR&quot;,
                  &quot;bankAccountNumberTail&quot; : &quot;919&quot;
                },
                &quot;bankAccountNumber&quot; : &quot;GB29RBOS60161331926919&quot;
              },
              &quot;transactionType&quot; : &quot;DEBIT&quot;,
              &quot;transferScheduleInformation&quot; : {
                &quot;scheduleStartDate&quot; : &quot;2025-03-01T00:00:00Z&quot;,
                &quot;scheduleEndDate&quot; : &quot;2026-03-01T00:00:00Z&quot;,
                &quot;scheduleExpression&quot; : {
                  &quot;scheduleExpressionType&quot; : &quot;RECURRING&quot;,
                  &quot;recurringFrequency&quot; : &quot;WEEKLY&quot;
                },
                &quot;scheduleType&quot; : &quot;TIME_BASED&quot;
              },
              &quot;paymentPreference&quot; : {
                &quot;paymentPreferencePaymentType&quot; : &quot;PERCENTAGE&quot;,
                &quot;value&quot; : 25.5
              },
              &quot;transferScheduleStatus&quot; : &quot;ENABLED&quot;
            }
          }
        }
      },
      &quot;response&quot; : {
        &quot;errors&quot; : [ {
          &quot;code&quot; : &quot;RequestConflict&quot;,
          &quot;message&quot; : &quot;Request Conflict&quot;,
          &quot;details&quot; : &quot;Transfer schedule already exists for same source and destination account combination.&quot;
        } ]
      }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'createTransferSchedule'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('TransferScheduleApi');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->createTransferScheduleWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(409, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 409, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 409);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for createTransferSchedule_413
     */
    public function testCreateTransferSchedule413()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
    /**
     * Test case for createTransferSchedule_415
     */
    public function testCreateTransferSchedule415()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
    /**
     * Test case for createTransferSchedule_429
     */
    public function testCreateTransferSchedule429()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testCreateTransferSchedule429', 'TransferScheduleApi')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;The frequency of requests was greater than allowed.&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : {
    &quot;application/json&quot; : {
      &quot;schema&quot; : {
        &quot;$ref&quot; : &quot;#/components/schemas/ErrorList&quot;
      }
    }
  },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;body&quot; : {
            &quot;value&quot; : {
              &quot;sourceAccountId&quot; : &quot;sourceAccountIdCase429&quot;,
              &quot;destinationAccountId&quot; : &quot;amzn1.account.AJKBFWEJFBNH2KCJPII5FBN&quot;,
              &quot;sourceCurrencyCode&quot; : &quot;USD&quot;,
              &quot;destinationTransactionInstrument&quot; : {
                &quot;bankAccount&quot; : {
                  &quot;accountHolderName&quot; : &quot;John Doe&quot;,
                  &quot;bankNumberFormat&quot; : &quot;IBAN&quot;,
                  &quot;bankAccountOwnershipType&quot; : &quot;SELF_ACCOUNT&quot;,
                  &quot;routingNumber&quot; : &quot;HBUKGB4B&quot;,
                  &quot;accountCountryCode&quot; : &quot;EU&quot;,
                  &quot;accountCurrency&quot; : &quot;EUR&quot;,
                  &quot;bankAccountNumberTail&quot; : &quot;819&quot;
                },
                &quot;bankAccountNumber&quot; : &quot;GB29RBOS60161331926819&quot;
              },
              &quot;transactionType&quot; : &quot;DEBIT&quot;,
              &quot;transferScheduleInformation&quot; : {
                &quot;scheduleStartDate&quot; : &quot;2024-03-01T00:00:00Z&quot;,
                &quot;scheduleEndDate&quot; : &quot;2027-03-01T00:00:00Z&quot;,
                &quot;scheduleExpression&quot; : {
                  &quot;scheduleExpressionType&quot; : &quot;RECURRING&quot;,
                  &quot;recurringFrequency&quot; : &quot;WEEKLY&quot;
                },
                &quot;scheduleType&quot; : &quot;TIME_BASED&quot;
              },
              &quot;paymentPreference&quot; : {
                &quot;paymentPreferencePaymentType&quot; : &quot;PERCENTAGE&quot;,
                &quot;value&quot; : 25.5
              },
              &quot;transferScheduleStatus&quot; : &quot;ENABLED&quot;
            }
          }
        }
      },
      &quot;response&quot; : {
        &quot;errors&quot; : [ {
          &quot;code&quot; : &quot;RequestThrottled&quot;,
          &quot;message&quot; : &quot;Request Throttled&quot;,
          &quot;details&quot; : &quot;Server throttled the request&quot;
        } ]
      }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'createTransferSchedule'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('TransferScheduleApi');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->createTransferScheduleWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(429, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 429, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 429);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for createTransferSchedule_500
     */
    public function testCreateTransferSchedule500()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testCreateTransferSchedule500', 'TransferScheduleApi')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;An unexpected condition occurred that prevented the server from fulfilling the request.&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : {
    &quot;application/json&quot; : {
      &quot;schema&quot; : {
        &quot;$ref&quot; : &quot;#/components/schemas/ErrorList&quot;
      }
    }
  },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;body&quot; : {
            &quot;value&quot; : {
              &quot;sourceAccountId&quot; : &quot;sourceAccountIdCase500&quot;,
              &quot;destinationAccountId&quot; : &quot;amzn1.account.AJKBFWEJFBNH2KCJPII5FBN&quot;,
              &quot;sourceCurrencyCode&quot; : &quot;USD&quot;,
              &quot;transactionType&quot; : &quot;DEBIT&quot;,
              &quot;transferScheduleInformation&quot; : {
                &quot;scheduleStartDate&quot; : &quot;2024-03-01T00:00:00Z&quot;,
                &quot;scheduleEndDate&quot; : &quot;2027-03-01T00:00:00Z&quot;,
                &quot;scheduleExpression&quot; : {
                  &quot;scheduleExpressionType&quot; : &quot;RECURRING&quot;,
                  &quot;recurringFrequency&quot; : &quot;WEEKLY&quot;
                },
                &quot;scheduleType&quot; : &quot;TIME_BASED&quot;
              },
              &quot;paymentPreference&quot; : {
                &quot;paymentPreferencePaymentType&quot; : &quot;PERCENTAGE&quot;,
                &quot;value&quot; : 25.5
              },
              &quot;transferScheduleStatus&quot; : &quot;ENABLED&quot;
            }
          }
        }
      },
      &quot;response&quot; : {
        &quot;errors&quot; : [ {
          &quot;code&quot; : &quot;InternalServerError&quot;,
          &quot;message&quot; : &quot;Internal Server Error&quot;,
          &quot;details&quot; : &quot;Internal Server Error Occurred&quot;
        } ]
      }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'createTransferSchedule'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('TransferScheduleApi');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->createTransferScheduleWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(500, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 500, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 500);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for createTransferSchedule_503
     */
    public function testCreateTransferSchedule503()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testCreateTransferSchedule503', 'TransferScheduleApi')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;Temporary overloading or maintenance of the server.&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : {
    &quot;application/json&quot; : {
      &quot;schema&quot; : {
        &quot;$ref&quot; : &quot;#/components/schemas/ErrorList&quot;
      }
    }
  },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;body&quot; : {
            &quot;value&quot; : {
              &quot;sourceAccountId&quot; : &quot;sourceAccountIdCase503&quot;,
              &quot;destinationAccountId&quot; : &quot;amzn1.account.AJKBFWEJFBNH2KCJPII5FBN&quot;,
              &quot;sourceCurrencyCode&quot; : &quot;USD&quot;,
              &quot;destinationTransactionInstrument&quot; : {
                &quot;bankAccount&quot; : {
                  &quot;accountHolderName&quot; : &quot;John Doe&quot;,
                  &quot;bankNumberFormat&quot; : &quot;IBAN&quot;,
                  &quot;bankAccountOwnershipType&quot; : &quot;SELF_ACCOUNT&quot;,
                  &quot;routingNumber&quot; : &quot;HBUKGB4B&quot;,
                  &quot;accountCountryCode&quot; : &quot;EU&quot;,
                  &quot;accountCurrency&quot; : &quot;EUR&quot;,
                  &quot;bankAccountNumberTail&quot; : &quot;819&quot;
                },
                &quot;bankAccountNumber&quot; : &quot;GB29RBOS60161331926819&quot;
              },
              &quot;transactionType&quot; : &quot;DEBIT&quot;,
              &quot;transferScheduleInformation&quot; : {
                &quot;scheduleStartDate&quot; : &quot;2024-03-01T00:00:00Z&quot;,
                &quot;scheduleEndDate&quot; : &quot;2027-03-01T00:00:00Z&quot;,
                &quot;scheduleExpression&quot; : {
                  &quot;scheduleExpressionType&quot; : &quot;RECURRING&quot;,
                  &quot;recurringFrequency&quot; : &quot;WEEKLY&quot;
                },
                &quot;scheduleType&quot; : &quot;TIME_BASED&quot;
              },
              &quot;paymentPreference&quot; : {
                &quot;paymentPreferencePaymentType&quot; : &quot;PERCENTAGE&quot;,
                &quot;value&quot; : 25.5
              },
              &quot;transferScheduleStatus&quot; : &quot;ENABLED&quot;
            }
          }
        }
      },
      &quot;response&quot; : {
        &quot;errors&quot; : [ {
          &quot;code&quot; : &quot;ServiceUnavailable&quot;,
          &quot;message&quot; : &quot;Server Unavailable&quot;,
          &quot;details&quot; : &quot;Server is not accepting request&quot;
        } ]
      }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'createTransferSchedule'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('TransferScheduleApi');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->createTransferScheduleWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(503, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 503, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 503);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for deleteScheduleTransaction_200
     */
    public function testDeleteScheduleTransaction200()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testDeleteScheduleTransaction200', 'TransferScheduleApi')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;Successfully deleted the transfer schedule.&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    },
    &quot;x-amzn-RateLimit-Limit&quot; : {
      &quot;description&quot; : &quot;Your rate limit (requests per second) for this operation.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : {
    &quot;application/json&quot; : {
      &quot;schema&quot; : {
        &quot;$ref&quot; : &quot;#/components/schemas/DeleteTransferSchedule&quot;
      }
    }
  },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;transferScheduleId&quot; : {
            &quot;value&quot; : &quot;transferScheduleIdCase200&quot;
          }
        }
      },
      &quot;response&quot; : {
        &quot;code&quot; : &quot;Successful&quot;,
        &quot;message&quot; : &quot;Deleted transfer schedule&quot;,
        &quot;details&quot; : &quot;Deleted transfer schedule for ID transferScheduleIdCase200&quot;
      }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'deleteScheduleTransaction'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('TransferScheduleApi');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->deleteScheduleTransactionWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(200, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 200, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 200);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for deleteScheduleTransaction_400
     */
    public function testDeleteScheduleTransaction400()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testDeleteScheduleTransaction400', 'TransferScheduleApi')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;Request has missing or invalid parameters and cannot be parsed.&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    },
    &quot;x-amzn-RateLimit-Limit&quot; : {
      &quot;description&quot; : &quot;Your rate limit (requests per second) for this operation.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : {
    &quot;application/json&quot; : {
      &quot;schema&quot; : {
        &quot;$ref&quot; : &quot;#/components/schemas/ErrorList&quot;
      }
    }
  },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;transferScheduleId&quot; : {
            &quot;value&quot; : &quot;transferScheduleIdCase400&quot;
          }
        }
      },
      &quot;response&quot; : {
        &quot;errors&quot; : [ {
          &quot;code&quot; : &quot;InvalidInput&quot;,
          &quot;message&quot; : &quot;Invalid or Missing signature.&quot;,
          &quot;details&quot; : &quot;Missing addressDigitalSignature&quot;
        } ]
      }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'deleteScheduleTransaction'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('TransferScheduleApi');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->deleteScheduleTransactionWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(400, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 400, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 400);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for deleteScheduleTransaction_403
     */
    public function testDeleteScheduleTransaction403()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testDeleteScheduleTransaction403', 'TransferScheduleApi')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : {
    &quot;application/json&quot; : {
      &quot;schema&quot; : {
        &quot;$ref&quot; : &quot;#/components/schemas/ErrorList&quot;
      }
    }
  },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;transferScheduleId&quot; : {
            &quot;value&quot; : &quot;transferScheduleIdCase403&quot;
          }
        }
      },
      &quot;response&quot; : {
        &quot;errors&quot; : [ {
          &quot;code&quot; : &quot;UnauthorizedRequest&quot;,
          &quot;message&quot; : &quot;Invalid WAC certificate.&quot;,
          &quot;details&quot; : &quot;NCA Status for the certificate is invalid&quot;
        } ]
      }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'deleteScheduleTransaction'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('TransferScheduleApi');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->deleteScheduleTransactionWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(403, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 403, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 403);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for deleteScheduleTransaction_404
     */
    public function testDeleteScheduleTransaction404()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testDeleteScheduleTransaction404', 'TransferScheduleApi')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;The resource specified does not exist.&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    },
    &quot;x-amzn-RateLimit-Limit&quot; : {
      &quot;description&quot; : &quot;Your rate limit (requests per second) for this operation.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : {
    &quot;application/json&quot; : {
      &quot;schema&quot; : {
        &quot;$ref&quot; : &quot;#/components/schemas/ErrorList&quot;
      }
    }
  },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;transferScheduleId&quot; : {
            &quot;value&quot; : &quot;transferScheduleIdCase404&quot;
          }
        }
      },
      &quot;response&quot; : {
        &quot;errors&quot; : [ {
          &quot;code&quot; : &quot;NotFound&quot;,
          &quot;message&quot; : &quot;Transfer Schedule not found.&quot;,
          &quot;details&quot; : &quot;Transfer schedule id doesn&#39;t exists for invalid TransferScheduleId&quot;
        } ]
      }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'deleteScheduleTransaction'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('TransferScheduleApi');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->deleteScheduleTransactionWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(404, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 404, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 404);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for deleteScheduleTransaction_408
     */
    public function testDeleteScheduleTransaction408()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testDeleteScheduleTransaction408', 'TransferScheduleApi')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;Request Timed Out.&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : {
    &quot;application/json&quot; : {
      &quot;schema&quot; : {
        &quot;$ref&quot; : &quot;#/components/schemas/ErrorList&quot;
      }
    }
  },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;transferScheduleId&quot; : {
            &quot;value&quot; : &quot;transferScheduleIdCase408&quot;
          }
        }
      },
      &quot;response&quot; : {
        &quot;errors&quot; : [ {
          &quot;code&quot; : &quot;RequestTimedOut&quot;,
          &quot;message&quot; : &quot;Request Timed Out&quot;,
          &quot;details&quot; : &quot;Server did not respond in time&quot;
        } ]
      }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'deleteScheduleTransaction'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('TransferScheduleApi');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->deleteScheduleTransactionWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(408, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 408, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 408);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for deleteScheduleTransaction_413
     */
    public function testDeleteScheduleTransaction413()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
    /**
     * Test case for deleteScheduleTransaction_415
     */
    public function testDeleteScheduleTransaction415()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
    /**
     * Test case for deleteScheduleTransaction_429
     */
    public function testDeleteScheduleTransaction429()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testDeleteScheduleTransaction429', 'TransferScheduleApi')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;The frequency of requests was greater than allowed.&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : {
    &quot;application/json&quot; : {
      &quot;schema&quot; : {
        &quot;$ref&quot; : &quot;#/components/schemas/ErrorList&quot;
      }
    }
  },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;transferScheduleId&quot; : {
            &quot;value&quot; : &quot;transferScheduleIdCase429&quot;
          }
        }
      },
      &quot;response&quot; : {
        &quot;errors&quot; : [ {
          &quot;code&quot; : &quot;RequestThrottled&quot;,
          &quot;message&quot; : &quot;Request Throttled&quot;,
          &quot;details&quot; : &quot;Server throttled the request&quot;
        } ]
      }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'deleteScheduleTransaction'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('TransferScheduleApi');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->deleteScheduleTransactionWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(429, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 429, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 429);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for deleteScheduleTransaction_500
     */
    public function testDeleteScheduleTransaction500()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testDeleteScheduleTransaction500', 'TransferScheduleApi')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;An unexpected condition occurred that prevented the server from fulfilling the request.&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : {
    &quot;application/json&quot; : {
      &quot;schema&quot; : {
        &quot;$ref&quot; : &quot;#/components/schemas/ErrorList&quot;
      }
    }
  },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;transferScheduleId&quot; : {
            &quot;value&quot; : &quot;transferScheduleIdCase500&quot;
          }
        }
      },
      &quot;response&quot; : {
        &quot;errors&quot; : [ {
          &quot;code&quot; : &quot;InternalServerError&quot;,
          &quot;message&quot; : &quot;Internal Server Error&quot;,
          &quot;details&quot; : &quot;Internal Server Error Occurred&quot;
        } ]
      }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'deleteScheduleTransaction'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('TransferScheduleApi');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->deleteScheduleTransactionWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(500, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 500, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 500);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for deleteScheduleTransaction_503
     */
    public function testDeleteScheduleTransaction503()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testDeleteScheduleTransaction503', 'TransferScheduleApi')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;Temporary overloading or maintenance of the server.&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : {
    &quot;application/json&quot; : {
      &quot;schema&quot; : {
        &quot;$ref&quot; : &quot;#/components/schemas/ErrorList&quot;
      }
    }
  },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;transferScheduleId&quot; : {
            &quot;value&quot; : &quot;transferScheduleIdCase503&quot;
          }
        }
      },
      &quot;response&quot; : {
        &quot;errors&quot; : [ {
          &quot;code&quot; : &quot;ServiceUnavailable&quot;,
          &quot;message&quot; : &quot;Server Unavailable&quot;,
          &quot;details&quot; : &quot;Server is not accepting request&quot;
        } ]
      }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'deleteScheduleTransaction'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('TransferScheduleApi');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->deleteScheduleTransactionWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(503, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 503, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 503);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for getTransferSchedule_200
     */
    public function testGetTransferSchedule200()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testGetTransferSchedule200', 'TransferScheduleApi')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;Success&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    },
    &quot;x-amzn-RateLimit-Limit&quot; : {
      &quot;description&quot; : &quot;Your rate limit (requests per second) for this operation.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : {
    &quot;application/json&quot; : {
      &quot;schema&quot; : {
        &quot;$ref&quot; : &quot;#/components/schemas/TransferSchedule&quot;
      }
    }
  },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;transferScheduleId&quot; : {
            &quot;value&quot; : &quot;transferScheduleIdcase200&quot;
          }
        }
      },
      &quot;response&quot; : {
        &quot;transferScheduleId&quot; : &quot;amzn1.transferschedule.SMUGN2EN3ZHWSRJKH2KCJPII5JEI&quot;,
        &quot;transactionType&quot; : &quot;DEBIT&quot;,
        &quot;transactionSourceAccount&quot; : {
          &quot;accountId&quot; : &quot;sourceAccountIdCase200&quot;,
          &quot;bankAccountHolderName&quot; : &quot;John Doe&quot;,
          &quot;bankName&quot; : &quot;Amazon Seller Wallet&quot;,
          &quot;bankAccountNumberFormat&quot; : &quot;IBAN&quot;,
          &quot;bankAccountNumberTail&quot; : &quot;123&quot;,
          &quot;bankAccountCurrency&quot; : &quot;GBP&quot;
        },
        &quot;transactionDestinationAccount&quot; : {
          &quot;bankAccountHolderName&quot; : &quot;Dane Shipping&quot;,
          &quot;bankName&quot; : &quot;Royal Bank of Scotland&quot;,
          &quot;bankAccountNumberFormat&quot; : &quot;IBAN&quot;,
          &quot;bankAccountNumberTail&quot; : &quot;819&quot;,
          &quot;bankAccountCurrency&quot; : &quot;GBP&quot;,
          &quot;bankAccountCountryCode&quot; : &quot;EU&quot;
        },
        &quot;transferScheduleStatus&quot; : &quot;ENABLED&quot;,
        &quot;transferScheduleInformation&quot; : {
          &quot;scheduleStartDate&quot; : &quot;2024-03-01T00:00:00Z&quot;,
          &quot;scheduleEndDate&quot; : &quot;2027-03-01T00:00:00Z&quot;,
          &quot;scheduleExpression&quot; : {
            &quot;scheduleExpressionType&quot; : &quot;RECURRING&quot;,
            &quot;recurringFrequency&quot; : &quot;WEEKLY&quot;
          },
          &quot;scheduleType&quot; : &quot;TIME_BASED&quot;
        },
        &quot;paymentPreference&quot; : {
          &quot;paymentPreferencePaymentType&quot; : &quot;PERCENTAGE&quot;,
          &quot;value&quot; : 25.5
        },
        &quot;transferScheduleFailures&quot; : [ {
          &quot;transferScheduleFailureDate&quot; : &quot;2024-03-01T10:30:00Z&quot;,
          &quot;transferScheduleFailureReason&quot; : &quot;INSUFFICIENT_BALANCE&quot;
        } ]
      }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'getTransferSchedule'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('TransferScheduleApi');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->getTransferScheduleWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(200, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 200, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 200);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for getTransferSchedule_400
     */
    public function testGetTransferSchedule400()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testGetTransferSchedule400', 'TransferScheduleApi')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;Request has missing or invalid parameters and cannot be parsed.&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    },
    &quot;x-amzn-RateLimit-Limit&quot; : {
      &quot;description&quot; : &quot;Your rate limit (requests per second) for this operation.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : {
    &quot;application/json&quot; : {
      &quot;schema&quot; : {
        &quot;$ref&quot; : &quot;#/components/schemas/ErrorList&quot;
      }
    }
  },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;transferScheduleId&quot; : {
            &quot;value&quot; : &quot;transferScheduleIdCase400&quot;
          }
        }
      },
      &quot;response&quot; : {
        &quot;errors&quot; : [ {
          &quot;code&quot; : &quot;InvalidInput&quot;,
          &quot;message&quot; : &quot;Invalid or Missing wacCertificate.&quot;,
          &quot;details&quot; : &quot;WAC certificate is missing for the request&quot;
        } ]
      }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'getTransferSchedule'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('TransferScheduleApi');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->getTransferScheduleWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(400, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 400, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 400);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for getTransferSchedule_403
     */
    public function testGetTransferSchedule403()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testGetTransferSchedule403', 'TransferScheduleApi')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : {
    &quot;application/json&quot; : {
      &quot;schema&quot; : {
        &quot;$ref&quot; : &quot;#/components/schemas/ErrorList&quot;
      }
    }
  },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;transferScheduleId&quot; : {
            &quot;value&quot; : &quot;transferScheduleIdCase403&quot;
          }
        }
      },
      &quot;response&quot; : {
        &quot;errors&quot; : [ {
          &quot;code&quot; : &quot;UnauthorizedRequest&quot;,
          &quot;message&quot; : &quot;Invalid WAC certificate.&quot;,
          &quot;details&quot; : &quot;NCA Status for the certificate is invalid&quot;
        } ]
      }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'getTransferSchedule'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('TransferScheduleApi');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->getTransferScheduleWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(403, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 403, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 403);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for getTransferSchedule_404
     */
    public function testGetTransferSchedule404()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testGetTransferSchedule404', 'TransferScheduleApi')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;The resource specified does not exist.&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    },
    &quot;x-amzn-RateLimit-Limit&quot; : {
      &quot;description&quot; : &quot;Your rate limit (requests per second) for this operation.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : {
    &quot;application/json&quot; : {
      &quot;schema&quot; : {
        &quot;$ref&quot; : &quot;#/components/schemas/ErrorList&quot;
      }
    }
  },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;transferScheduleId&quot; : {
            &quot;value&quot; : &quot;transferScheduleIdCase404&quot;
          }
        }
      },
      &quot;response&quot; : {
        &quot;errors&quot; : [ {
          &quot;code&quot; : &quot;NotFound&quot;,
          &quot;message&quot; : &quot;Account not found.&quot;,
          &quot;details&quot; : &quot;Account doesn&#39;t exists for InvalidAccountId&quot;
        } ]
      }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'getTransferSchedule'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('TransferScheduleApi');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->getTransferScheduleWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(404, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 404, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 404);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for getTransferSchedule_408
     */
    public function testGetTransferSchedule408()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testGetTransferSchedule408', 'TransferScheduleApi')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;Request Timed Out.&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : {
    &quot;application/json&quot; : {
      &quot;schema&quot; : {
        &quot;$ref&quot; : &quot;#/components/schemas/ErrorList&quot;
      }
    }
  },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;transferScheduleId&quot; : {
            &quot;value&quot; : &quot;transferScheduleIdCase408&quot;
          }
        }
      },
      &quot;response&quot; : {
        &quot;errors&quot; : [ {
          &quot;code&quot; : &quot;RequestTimedOut&quot;,
          &quot;message&quot; : &quot;Request Timed Out&quot;,
          &quot;details&quot; : &quot;Server did not respond in time&quot;
        } ]
      }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'getTransferSchedule'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('TransferScheduleApi');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->getTransferScheduleWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(408, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 408, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 408);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for getTransferSchedule_413
     */
    public function testGetTransferSchedule413()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
    /**
     * Test case for getTransferSchedule_415
     */
    public function testGetTransferSchedule415()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
    /**
     * Test case for getTransferSchedule_429
     */
    public function testGetTransferSchedule429()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testGetTransferSchedule429', 'TransferScheduleApi')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;The frequency of requests was greater than allowed.&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : {
    &quot;application/json&quot; : {
      &quot;schema&quot; : {
        &quot;$ref&quot; : &quot;#/components/schemas/ErrorList&quot;
      }
    }
  },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;transferScheduleId&quot; : {
            &quot;value&quot; : &quot;transferScheduleIdCase429&quot;
          }
        }
      },
      &quot;response&quot; : {
        &quot;errors&quot; : [ {
          &quot;code&quot; : &quot;RequestThrottled&quot;,
          &quot;message&quot; : &quot;Request Throttled&quot;,
          &quot;details&quot; : &quot;Server throttled the request&quot;
        } ]
      }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'getTransferSchedule'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('TransferScheduleApi');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->getTransferScheduleWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(429, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 429, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 429);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for getTransferSchedule_500
     */
    public function testGetTransferSchedule500()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testGetTransferSchedule500', 'TransferScheduleApi')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;An unexpected condition occurred that prevented the server from fulfilling the request.&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : {
    &quot;application/json&quot; : {
      &quot;schema&quot; : {
        &quot;$ref&quot; : &quot;#/components/schemas/ErrorList&quot;
      }
    }
  },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;transferScheduleId&quot; : {
            &quot;value&quot; : &quot;transferScheduleIdCase500&quot;
          }
        }
      },
      &quot;response&quot; : {
        &quot;errors&quot; : [ {
          &quot;code&quot; : &quot;InternalServerError&quot;,
          &quot;message&quot; : &quot;Internal Server Error&quot;,
          &quot;details&quot; : &quot;Internal Server Error Occurred&quot;
        } ]
      }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'getTransferSchedule'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('TransferScheduleApi');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->getTransferScheduleWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(500, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 500, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 500);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for getTransferSchedule_503
     */
    public function testGetTransferSchedule503()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testGetTransferSchedule503', 'TransferScheduleApi')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;Temporary overloading or maintenance of the server.&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : {
    &quot;application/json&quot; : {
      &quot;schema&quot; : {
        &quot;$ref&quot; : &quot;#/components/schemas/ErrorList&quot;
      }
    }
  },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;transferScheduleId&quot; : {
            &quot;value&quot; : &quot;transferScheduleIdCase503&quot;
          }
        }
      },
      &quot;response&quot; : {
        &quot;errors&quot; : [ {
          &quot;code&quot; : &quot;ServiceUnavailable&quot;,
          &quot;message&quot; : &quot;Server Unavailable&quot;,
          &quot;details&quot; : &quot;Server is not accepting request&quot;
        } ]
      }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'getTransferSchedule'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('TransferScheduleApi');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->getTransferScheduleWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(503, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 503, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 503);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for listTransferSchedules_200
     */
    public function testListTransferSchedules200()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testListTransferSchedules200', 'TransferScheduleApi')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;Success&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    },
    &quot;x-amzn-RateLimit-Limit&quot; : {
      &quot;description&quot; : &quot;Your rate limit (requests per second) for this operation.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : {
    &quot;application/json&quot; : {
      &quot;schema&quot; : {
        &quot;$ref&quot; : &quot;#/components/schemas/TransferScheduleListing&quot;
      }
    }
  },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;accountId&quot; : {
            &quot;value&quot; : &quot;sourceAccountIdCase200&quot;
          }
        }
      },
      &quot;response&quot; : {
        &quot;nextPageToken&quot; : &quot;3493805734095308457308475&quot;,
        &quot;transferSchedules&quot; : [ {
          &quot;transferScheduleId&quot; : &quot;amzn1.transferschedule.SMUGN2EN3ZHWSRJKH2KCJPII5JEI&quot;,
          &quot;transactionType&quot; : &quot;DEBIT&quot;,
          &quot;transactionSourceAccount&quot; : {
            &quot;accountId&quot; : &quot;sourceAccountIdCase200&quot;,
            &quot;bankAccountHolderName&quot; : &quot;John Doe&quot;,
            &quot;bankName&quot; : &quot;Amazon Seller Wallet&quot;,
            &quot;bankAccountNumberFormat&quot; : &quot;IBAN&quot;,
            &quot;bankAccountNumberTail&quot; : &quot;123&quot;,
            &quot;bankAccountCurrency&quot; : &quot;GBP&quot;
          },
          &quot;transactionDestinationAccount&quot; : {
            &quot;bankAccountHolderName&quot; : &quot;Dane Shipping&quot;,
            &quot;bankName&quot; : &quot;Royal Bank of Scotland&quot;,
            &quot;bankAccountNumberFormat&quot; : &quot;IBAN&quot;,
            &quot;bankAccountNumberTail&quot; : &quot;819&quot;,
            &quot;bankAccountCurrency&quot; : &quot;GBP&quot;,
            &quot;bankAccountCountryCode&quot; : &quot;EU&quot;
          },
          &quot;transferScheduleStatus&quot; : &quot;ENABLED&quot;,
          &quot;transferScheduleInformation&quot; : {
            &quot;scheduleStartDate&quot; : &quot;2024-03-01T00:00:00Z&quot;,
            &quot;scheduleEndDate&quot; : &quot;2027-03-01T00:00:00Z&quot;,
            &quot;scheduleExpression&quot; : {
              &quot;scheduleExpressionType&quot; : &quot;RECURRING&quot;,
              &quot;recurringFrequency&quot; : &quot;WEEKLY&quot;
            },
            &quot;scheduleType&quot; : &quot;TIME_BASED&quot;
          },
          &quot;paymentPreference&quot; : {
            &quot;paymentPreferencePaymentType&quot; : &quot;PERCENTAGE&quot;,
            &quot;value&quot; : 25.5
          },
          &quot;transferScheduleFailures&quot; : [ {
            &quot;transferScheduleFailureDate&quot; : &quot;2024-03-01T10:30:00Z&quot;,
            &quot;transferScheduleFailureReason&quot; : &quot;INSUFFICIENT_BALANCE&quot;
          } ]
        } ]
      }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'listTransferSchedules'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('TransferScheduleApi');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->listTransferSchedulesWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(200, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 200, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 200);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for listTransferSchedules_400
     */
    public function testListTransferSchedules400()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testListTransferSchedules400', 'TransferScheduleApi')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;Request has missing or invalid parameters and cannot be parsed.&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    },
    &quot;x-amzn-RateLimit-Limit&quot; : {
      &quot;description&quot; : &quot;Your rate limit (requests per second) for this operation.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : {
    &quot;application/json&quot; : {
      &quot;schema&quot; : {
        &quot;$ref&quot; : &quot;#/components/schemas/ErrorList&quot;
      }
    }
  },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;accountId&quot; : {
            &quot;value&quot; : &quot;sourceAccountIdCase400&quot;
          }
        }
      },
      &quot;response&quot; : {
        &quot;errors&quot; : [ {
          &quot;code&quot; : &quot;InvalidInput&quot;,
          &quot;message&quot; : &quot;Invalid or Missing wacCertificate.&quot;,
          &quot;details&quot; : &quot;WAC certificate is missing for the request&quot;
        } ]
      }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'listTransferSchedules'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('TransferScheduleApi');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->listTransferSchedulesWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(400, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 400, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 400);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for listTransferSchedules_403
     */
    public function testListTransferSchedules403()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testListTransferSchedules403', 'TransferScheduleApi')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : {
    &quot;application/json&quot; : {
      &quot;schema&quot; : {
        &quot;$ref&quot; : &quot;#/components/schemas/ErrorList&quot;
      }
    }
  },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;accountId&quot; : {
            &quot;value&quot; : &quot;sourceAccountIdCase403&quot;
          }
        }
      },
      &quot;response&quot; : {
        &quot;errors&quot; : [ {
          &quot;code&quot; : &quot;UnauthorizedRequest&quot;,
          &quot;message&quot; : &quot;Invalid WAC certificate.&quot;,
          &quot;details&quot; : &quot;NCA Status for the certificate is invalid&quot;
        } ]
      }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'listTransferSchedules'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('TransferScheduleApi');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->listTransferSchedulesWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(403, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 403, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 403);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for listTransferSchedules_404
     */
    public function testListTransferSchedules404()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testListTransferSchedules404', 'TransferScheduleApi')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;The resource specified does not exist.&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    },
    &quot;x-amzn-RateLimit-Limit&quot; : {
      &quot;description&quot; : &quot;Your rate limit (requests per second) for this operation.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : {
    &quot;application/json&quot; : {
      &quot;schema&quot; : {
        &quot;$ref&quot; : &quot;#/components/schemas/ErrorList&quot;
      }
    }
  },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;accountId&quot; : {
            &quot;value&quot; : &quot;sourceAccountIdCase404&quot;
          }
        }
      },
      &quot;response&quot; : {
        &quot;errors&quot; : [ {
          &quot;code&quot; : &quot;NotFound&quot;,
          &quot;message&quot; : &quot;Account not found.&quot;,
          &quot;details&quot; : &quot;Account doesn&#39;t exists for InvalidAccountId&quot;
        } ]
      }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'listTransferSchedules'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('TransferScheduleApi');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->listTransferSchedulesWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(404, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 404, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 404);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for listTransferSchedules_408
     */
    public function testListTransferSchedules408()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testListTransferSchedules408', 'TransferScheduleApi')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;Request Timed Out.&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : {
    &quot;application/json&quot; : {
      &quot;schema&quot; : {
        &quot;$ref&quot; : &quot;#/components/schemas/ErrorList&quot;
      }
    }
  },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;accountId&quot; : {
            &quot;value&quot; : &quot;sourceAccountIdCase408&quot;
          }
        }
      },
      &quot;response&quot; : {
        &quot;errors&quot; : [ {
          &quot;code&quot; : &quot;RequestTimedOut&quot;,
          &quot;message&quot; : &quot;Request Timed Out&quot;,
          &quot;details&quot; : &quot;Server did not respond in time&quot;
        } ]
      }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'listTransferSchedules'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('TransferScheduleApi');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->listTransferSchedulesWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(408, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 408, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 408);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for listTransferSchedules_413
     */
    public function testListTransferSchedules413()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
    /**
     * Test case for listTransferSchedules_415
     */
    public function testListTransferSchedules415()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
    /**
     * Test case for listTransferSchedules_429
     */
    public function testListTransferSchedules429()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testListTransferSchedules429', 'TransferScheduleApi')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;The frequency of requests was greater than allowed.&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : {
    &quot;application/json&quot; : {
      &quot;schema&quot; : {
        &quot;$ref&quot; : &quot;#/components/schemas/ErrorList&quot;
      }
    }
  },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;accountId&quot; : {
            &quot;value&quot; : &quot;sourceAccountIdCase429&quot;
          }
        }
      },
      &quot;response&quot; : {
        &quot;errors&quot; : [ {
          &quot;code&quot; : &quot;RequestThrottled&quot;,
          &quot;message&quot; : &quot;Request Throttled&quot;,
          &quot;details&quot; : &quot;Server throttled the request&quot;
        } ]
      }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'listTransferSchedules'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('TransferScheduleApi');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->listTransferSchedulesWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(429, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 429, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 429);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for listTransferSchedules_500
     */
    public function testListTransferSchedules500()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testListTransferSchedules500', 'TransferScheduleApi')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;An unexpected condition occurred that prevented the server from fulfilling the request.&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : {
    &quot;application/json&quot; : {
      &quot;schema&quot; : {
        &quot;$ref&quot; : &quot;#/components/schemas/ErrorList&quot;
      }
    }
  },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;accountId&quot; : {
            &quot;value&quot; : &quot;sourceAccountIdCase500&quot;
          }
        }
      },
      &quot;response&quot; : {
        &quot;errors&quot; : [ {
          &quot;code&quot; : &quot;InternalServerError&quot;,
          &quot;message&quot; : &quot;Internal Server Error&quot;,
          &quot;details&quot; : &quot;Internal Server Error Occurred&quot;
        } ]
      }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'listTransferSchedules'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('TransferScheduleApi');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->listTransferSchedulesWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(500, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 500, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 500);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for listTransferSchedules_503
     */
    public function testListTransferSchedules503()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testListTransferSchedules503', 'TransferScheduleApi')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;Temporary overloading or maintenance of the server.&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : {
    &quot;application/json&quot; : {
      &quot;schema&quot; : {
        &quot;$ref&quot; : &quot;#/components/schemas/ErrorList&quot;
      }
    }
  },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;accountId&quot; : {
            &quot;value&quot; : &quot;sourceAccountIdCase503&quot;
          }
        }
      },
      &quot;response&quot; : {
        &quot;errors&quot; : [ {
          &quot;code&quot; : &quot;ServiceUnavailable&quot;,
          &quot;message&quot; : &quot;Server Unavailable&quot;,
          &quot;details&quot; : &quot;Server is not accepting request&quot;
        } ]
      }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'listTransferSchedules'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('TransferScheduleApi');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->listTransferSchedulesWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(503, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 503, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 503);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for updateTransferSchedule_200
     */
    public function testUpdateTransferSchedule200()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testUpdateTransferSchedule200', 'TransferScheduleApi')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;Success&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    },
    &quot;x-amzn-RateLimit-Limit&quot; : {
      &quot;description&quot; : &quot;Your rate limit (requests per second) for this operation.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : {
    &quot;application/json&quot; : {
      &quot;schema&quot; : {
        &quot;$ref&quot; : &quot;#/components/schemas/TransferSchedule&quot;
      }
    }
  },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;body&quot; : {
            &quot;value&quot; : {
              &quot;transferScheduleId&quot; : &quot;transferScheduleIdCase200&quot;,
              &quot;transactionType&quot; : &quot;DEBIT&quot;,
              &quot;transactionDestinationAccount&quot; : {
                &quot;bankAccountHolderName&quot; : &quot;Dane Shipping&quot;,
                &quot;bankName&quot; : &quot;Royal Bank of Scotland&quot;,
                &quot;bankAccountNumberFormat&quot; : &quot;IBAN&quot;,
                &quot;bankAccountNumberTail&quot; : &quot;819&quot;,
                &quot;bankAccountCurrency&quot; : &quot;GBP&quot;,
                &quot;bankAccountCountryCode&quot; : &quot;EU&quot;
              },
              &quot;transferScheduleStatus&quot; : &quot;ENABLED&quot;,
              &quot;transferScheduleInformation&quot; : {
                &quot;scheduleStartDate&quot; : &quot;2024-03-01T00:00:00Z&quot;,
                &quot;scheduleEndDate&quot; : &quot;2027-03-01T00:00:00Z&quot;,
                &quot;scheduleExpression&quot; : {
                  &quot;scheduleExpressionType&quot; : &quot;RECURRING&quot;,
                  &quot;recurringFrequency&quot; : &quot;WEEKLY&quot;
                },
                &quot;scheduleType&quot; : &quot;TIME_BASED&quot;
              },
              &quot;paymentPreference&quot; : {
                &quot;paymentPreferencePaymentType&quot; : &quot;PERCENTAGE&quot;,
                &quot;value&quot; : 25.5
              },
              &quot;transferScheduleFailures&quot; : [ {
                &quot;transferScheduleFailureDate&quot; : &quot;2024-03-01T10:30:00Z&quot;,
                &quot;transferScheduleFailureReason&quot; : &quot;INSUFFICIENT_BALANCE&quot;
              } ]
            }
          }
        }
      },
      &quot;response&quot; : {
        &quot;transferScheduleId&quot; : &quot;amzn1.transferschedule.SMUGN2EN3ZHWSRJKH2KCJPII5JEI&quot;,
        &quot;transactionType&quot; : &quot;DEBIT&quot;,
        &quot;transactionDestinationAccount&quot; : {
          &quot;bankAccountHolderName&quot; : &quot;Dane Shipping&quot;,
          &quot;bankName&quot; : &quot;Royal Bank of Scotland&quot;,
          &quot;bankAccountNumberFormat&quot; : &quot;IBAN&quot;,
          &quot;bankAccountNumberTail&quot; : &quot;819&quot;,
          &quot;bankAccountCurrency&quot; : &quot;GBP&quot;,
          &quot;bankAccountCountryCode&quot; : &quot;EU&quot;
        },
        &quot;transferScheduleStatus&quot; : &quot;ENABLED&quot;,
        &quot;transferScheduleInformation&quot; : {
          &quot;scheduleStartDate&quot; : &quot;2024-03-01T00:00:00Z&quot;,
          &quot;scheduleEndDate&quot; : &quot;2027-03-01T00:00:00Z&quot;,
          &quot;scheduleExpression&quot; : {
            &quot;scheduleExpressionType&quot; : &quot;RECURRING&quot;,
            &quot;recurringFrequency&quot; : &quot;WEEKLY&quot;
          },
          &quot;scheduleType&quot; : &quot;TIME_BASED&quot;
        },
        &quot;paymentPreference&quot; : {
          &quot;paymentPreferencePaymentType&quot; : &quot;PERCENTAGE&quot;,
          &quot;value&quot; : 25.5
        },
        &quot;transferScheduleFailures&quot; : [ {
          &quot;transferScheduleFailureDate&quot; : &quot;2024-03-01T10:30:00Z&quot;,
          &quot;transferScheduleFailureReason&quot; : &quot;INSUFFICIENT_BALANCE&quot;
        } ]
      }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'updateTransferSchedule'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('TransferScheduleApi');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->updateTransferScheduleWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(200, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 200, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 200);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for updateTransferSchedule_400
     */
    public function testUpdateTransferSchedule400()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testUpdateTransferSchedule400', 'TransferScheduleApi')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;Request has missing or invalid parameters and cannot be parsed.&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    },
    &quot;x-amzn-RateLimit-Limit&quot; : {
      &quot;description&quot; : &quot;Your rate limit (requests per second) for this operation.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : {
    &quot;application/json&quot; : {
      &quot;schema&quot; : {
        &quot;$ref&quot; : &quot;#/components/schemas/ErrorList&quot;
      }
    }
  },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;body&quot; : {
            &quot;value&quot; : {
              &quot;transferScheduleId&quot; : &quot;transferScheduleIdCase400&quot;,
              &quot;transactionType&quot; : &quot;DEBIT&quot;,
              &quot;transactionDestinationAccount&quot; : {
                &quot;bankAccountHolderName&quot; : &quot;Dane Shipping&quot;,
                &quot;bankName&quot; : &quot;Royal Bank of Scotland&quot;,
                &quot;bankAccountNumberFormat&quot; : &quot;IBAN&quot;,
                &quot;bankAccountNumberTail&quot; : &quot;819&quot;,
                &quot;bankAccountCurrency&quot; : &quot;GBP&quot;,
                &quot;bankAccountCountryCode&quot; : &quot;EU&quot;
              },
              &quot;transferScheduleStatus&quot; : &quot;ENABLED&quot;,
              &quot;transferScheduleInformation&quot; : {
                &quot;scheduleStartDate&quot; : &quot;2024-03-01T00:00:00Z&quot;,
                &quot;scheduleEndDate&quot; : &quot;2027-03-01T00:00:00Z&quot;,
                &quot;scheduleExpression&quot; : {
                  &quot;scheduleExpressionType&quot; : &quot;RECURRING&quot;,
                  &quot;recurringFrequency&quot; : &quot;WEEKLY&quot;
                },
                &quot;scheduleType&quot; : &quot;TIME_BASED&quot;
              },
              &quot;paymentPreference&quot; : {
                &quot;paymentPreferencePaymentType&quot; : &quot;PERCENTAGE&quot;,
                &quot;value&quot; : 25.5
              },
              &quot;transferScheduleFailures&quot; : [ {
                &quot;transferScheduleFailureDate&quot; : &quot;2024-03-01T10:30:00Z&quot;,
                &quot;transferScheduleFailureReason&quot; : &quot;INSUFFICIENT_BALANCE&quot;
              } ]
            }
          }
        }
      },
      &quot;response&quot; : {
        &quot;errors&quot; : [ {
          &quot;code&quot; : &quot;InvalidInput&quot;,
          &quot;message&quot; : &quot;Invalid or Missing signature.&quot;,
          &quot;details&quot; : &quot;Missing addressDigitalSignature&quot;
        } ]
      }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'updateTransferSchedule'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('TransferScheduleApi');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->updateTransferScheduleWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(400, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 400, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 400);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for updateTransferSchedule_403
     */
    public function testUpdateTransferSchedule403()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testUpdateTransferSchedule403', 'TransferScheduleApi')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : {
    &quot;application/json&quot; : {
      &quot;schema&quot; : {
        &quot;$ref&quot; : &quot;#/components/schemas/ErrorList&quot;
      }
    }
  },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;body&quot; : {
            &quot;value&quot; : {
              &quot;transferScheduleId&quot; : &quot;transferScheduleIdCase403&quot;,
              &quot;transactionType&quot; : &quot;DEBIT&quot;,
              &quot;transactionDestinationAccount&quot; : {
                &quot;bankAccountHolderName&quot; : &quot;Dane Shipping&quot;,
                &quot;bankName&quot; : &quot;Royal Bank of Scotland&quot;,
                &quot;bankAccountNumberFormat&quot; : &quot;IBAN&quot;,
                &quot;bankAccountNumberTail&quot; : &quot;819&quot;,
                &quot;bankAccountCurrency&quot; : &quot;GBP&quot;,
                &quot;bankAccountCountryCode&quot; : &quot;EU&quot;
              },
              &quot;transferScheduleStatus&quot; : &quot;ENABLED&quot;,
              &quot;transferScheduleInformation&quot; : {
                &quot;scheduleStartDate&quot; : &quot;2024-03-01T00:00:00Z&quot;,
                &quot;scheduleEndDate&quot; : &quot;2027-03-01T00:00:00Z&quot;,
                &quot;scheduleExpression&quot; : {
                  &quot;scheduleExpressionType&quot; : &quot;RECURRING&quot;,
                  &quot;recurringFrequency&quot; : &quot;WEEKLY&quot;
                },
                &quot;scheduleType&quot; : &quot;TIME_BASED&quot;
              },
              &quot;paymentPreference&quot; : {
                &quot;paymentPreferencePaymentType&quot; : &quot;PERCENTAGE&quot;,
                &quot;value&quot; : 25.5
              },
              &quot;transferScheduleFailures&quot; : [ {
                &quot;transferScheduleFailureDate&quot; : &quot;2024-03-01T10:30:00Z&quot;,
                &quot;transferScheduleFailureReason&quot; : &quot;INSUFFICIENT_BALANCE&quot;
              } ]
            }
          }
        }
      },
      &quot;response&quot; : {
        &quot;errors&quot; : [ {
          &quot;code&quot; : &quot;UnauthorizedRequest&quot;,
          &quot;message&quot; : &quot;Invalid request.&quot;,
          &quot;details&quot; : &quot;Request body provided is invalid.&quot;
        } ]
      }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'updateTransferSchedule'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('TransferScheduleApi');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->updateTransferScheduleWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(403, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 403, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 403);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for updateTransferSchedule_404
     */
    public function testUpdateTransferSchedule404()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testUpdateTransferSchedule404', 'TransferScheduleApi')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;The resource specified does not exist.&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    },
    &quot;x-amzn-RateLimit-Limit&quot; : {
      &quot;description&quot; : &quot;Your rate limit (requests per second) for this operation.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : {
    &quot;application/json&quot; : {
      &quot;schema&quot; : {
        &quot;$ref&quot; : &quot;#/components/schemas/ErrorList&quot;
      }
    }
  },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;body&quot; : {
            &quot;value&quot; : {
              &quot;transferScheduleId&quot; : &quot;transferScheduleIdCase404&quot;,
              &quot;transactionType&quot; : &quot;DEBIT&quot;,
              &quot;transactionDestinationAccount&quot; : {
                &quot;bankAccountHolderName&quot; : &quot;Dane Shipping&quot;,
                &quot;bankName&quot; : &quot;Royal Bank of Scotland&quot;,
                &quot;bankAccountNumberFormat&quot; : &quot;IBAN&quot;,
                &quot;bankAccountNumberTail&quot; : &quot;819&quot;,
                &quot;bankAccountCurrency&quot; : &quot;GBP&quot;,
                &quot;bankAccountCountryCode&quot; : &quot;EU&quot;
              },
              &quot;transferScheduleStatus&quot; : &quot;ENABLED&quot;,
              &quot;transferScheduleInformation&quot; : {
                &quot;scheduleStartDate&quot; : &quot;2024-03-01T00:00:00Z&quot;,
                &quot;scheduleEndDate&quot; : &quot;2027-03-01T00:00:00Z&quot;,
                &quot;scheduleExpression&quot; : {
                  &quot;scheduleExpressionType&quot; : &quot;RECURRING&quot;,
                  &quot;recurringFrequency&quot; : &quot;WEEKLY&quot;
                },
                &quot;scheduleType&quot; : &quot;TIME_BASED&quot;
              },
              &quot;paymentPreference&quot; : {
                &quot;paymentPreferencePaymentType&quot; : &quot;PERCENTAGE&quot;,
                &quot;value&quot; : 25.5
              },
              &quot;transferScheduleFailures&quot; : [ {
                &quot;transferScheduleFailureDate&quot; : &quot;2024-03-01T10:30:00Z&quot;,
                &quot;transferScheduleFailureReason&quot; : &quot;INSUFFICIENT_BALANCE&quot;
              } ]
            }
          }
        }
      },
      &quot;response&quot; : {
        &quot;errors&quot; : [ {
          &quot;code&quot; : &quot;NotFound&quot;,
          &quot;message&quot; : &quot;Account not found.&quot;,
          &quot;details&quot; : &quot;Account doesn&#39;t exists for invalid SourceAccountId&quot;
        } ]
      }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'updateTransferSchedule'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('TransferScheduleApi');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->updateTransferScheduleWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(404, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 404, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 404);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for updateTransferSchedule_408
     */
    public function testUpdateTransferSchedule408()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testUpdateTransferSchedule408', 'TransferScheduleApi')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;Request Timed Out.&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : {
    &quot;application/json&quot; : {
      &quot;schema&quot; : {
        &quot;$ref&quot; : &quot;#/components/schemas/ErrorList&quot;
      }
    }
  },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;body&quot; : {
            &quot;value&quot; : {
              &quot;transferScheduleId&quot; : &quot;transferScheduleIdCase408&quot;,
              &quot;transactionType&quot; : &quot;DEBIT&quot;,
              &quot;transactionDestinationAccount&quot; : {
                &quot;bankAccountHolderName&quot; : &quot;Dane Shipping&quot;,
                &quot;bankName&quot; : &quot;Royal Bank of Scotland&quot;,
                &quot;bankAccountNumberFormat&quot; : &quot;IBAN&quot;,
                &quot;bankAccountNumberTail&quot; : &quot;819&quot;,
                &quot;bankAccountCurrency&quot; : &quot;GBP&quot;,
                &quot;bankAccountCountryCode&quot; : &quot;EU&quot;
              },
              &quot;transferScheduleStatus&quot; : &quot;ENABLED&quot;,
              &quot;transferScheduleInformation&quot; : {
                &quot;scheduleStartDate&quot; : &quot;2024-03-01T00:00:00Z&quot;,
                &quot;scheduleEndDate&quot; : &quot;2027-03-01T00:00:00Z&quot;,
                &quot;scheduleExpression&quot; : {
                  &quot;scheduleExpressionType&quot; : &quot;RECURRING&quot;,
                  &quot;recurringFrequency&quot; : &quot;WEEKLY&quot;
                },
                &quot;scheduleType&quot; : &quot;TIME_BASED&quot;
              },
              &quot;paymentPreference&quot; : {
                &quot;paymentPreferencePaymentType&quot; : &quot;PERCENTAGE&quot;,
                &quot;value&quot; : 25.5
              },
              &quot;transferScheduleFailures&quot; : [ {
                &quot;transferScheduleFailureDate&quot; : &quot;2024-03-01T10:30:00Z&quot;,
                &quot;transferScheduleFailureReason&quot; : &quot;INSUFFICIENT_BALANCE&quot;
              } ]
            }
          }
        }
      },
      &quot;response&quot; : {
        &quot;errors&quot; : [ {
          &quot;code&quot; : &quot;RequestTimedOut&quot;,
          &quot;message&quot; : &quot;Request Timed Out&quot;,
          &quot;details&quot; : &quot;Server did not respond in time&quot;
        } ]
      }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'updateTransferSchedule'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('TransferScheduleApi');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->updateTransferScheduleWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(408, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 408, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 408);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for updateTransferSchedule_413
     */
    public function testUpdateTransferSchedule413()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
    /**
     * Test case for updateTransferSchedule_415
     */
    public function testUpdateTransferSchedule415()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
    /**
     * Test case for updateTransferSchedule_429
     */
    public function testUpdateTransferSchedule429()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testUpdateTransferSchedule429', 'TransferScheduleApi')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;The frequency of requests was greater than allowed.&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : {
    &quot;application/json&quot; : {
      &quot;schema&quot; : {
        &quot;$ref&quot; : &quot;#/components/schemas/ErrorList&quot;
      }
    }
  },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;body&quot; : {
            &quot;value&quot; : {
              &quot;transferScheduleId&quot; : &quot;transferScheduleIdCase429&quot;,
              &quot;transactionType&quot; : &quot;DEBIT&quot;,
              &quot;transactionDestinationAccount&quot; : {
                &quot;bankAccountHolderName&quot; : &quot;Dane Shipping&quot;,
                &quot;bankName&quot; : &quot;Royal Bank of Scotland&quot;,
                &quot;bankAccountNumberFormat&quot; : &quot;IBAN&quot;,
                &quot;bankAccountNumberTail&quot; : &quot;819&quot;,
                &quot;bankAccountCurrency&quot; : &quot;GBP&quot;,
                &quot;bankAccountCountryCode&quot; : &quot;EU&quot;
              },
              &quot;transferScheduleStatus&quot; : &quot;ENABLED&quot;,
              &quot;transferScheduleInformation&quot; : {
                &quot;scheduleStartDate&quot; : &quot;2024-03-01T00:00:00Z&quot;,
                &quot;scheduleEndDate&quot; : &quot;2027-03-01T00:00:00Z&quot;,
                &quot;scheduleExpression&quot; : {
                  &quot;scheduleExpressionType&quot; : &quot;RECURRING&quot;,
                  &quot;recurringFrequency&quot; : &quot;WEEKLY&quot;
                },
                &quot;scheduleType&quot; : &quot;TIME_BASED&quot;
              },
              &quot;paymentPreference&quot; : {
                &quot;paymentPreferencePaymentType&quot; : &quot;PERCENTAGE&quot;,
                &quot;value&quot; : 25.5
              },
              &quot;transferScheduleFailures&quot; : [ {
                &quot;transferScheduleFailureDate&quot; : &quot;2024-03-01T10:30:00Z&quot;,
                &quot;transferScheduleFailureReason&quot; : &quot;INSUFFICIENT_BALANCE&quot;
              } ]
            }
          }
        }
      },
      &quot;response&quot; : {
        &quot;errors&quot; : [ {
          &quot;code&quot; : &quot;RequestThrottled&quot;,
          &quot;message&quot; : &quot;Request Throttled&quot;,
          &quot;details&quot; : &quot;Server throttled the request&quot;
        } ]
      }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'updateTransferSchedule'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('TransferScheduleApi');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->updateTransferScheduleWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(429, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 429, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 429);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for updateTransferSchedule_500
     */
    public function testUpdateTransferSchedule500()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testUpdateTransferSchedule500', 'TransferScheduleApi')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;An unexpected condition occurred that prevented the server from fulfilling the request.&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : {
    &quot;application/json&quot; : {
      &quot;schema&quot; : {
        &quot;$ref&quot; : &quot;#/components/schemas/ErrorList&quot;
      }
    }
  },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;body&quot; : {
            &quot;value&quot; : {
              &quot;transferScheduleId&quot; : &quot;transferScheduleIdCase500&quot;,
              &quot;transactionType&quot; : &quot;DEBIT&quot;,
              &quot;transactionDestinationAccount&quot; : {
                &quot;bankAccountHolderName&quot; : &quot;Dane Shipping&quot;,
                &quot;bankName&quot; : &quot;Royal Bank of Scotland&quot;,
                &quot;bankAccountNumberFormat&quot; : &quot;IBAN&quot;,
                &quot;bankAccountNumberTail&quot; : &quot;819&quot;,
                &quot;bankAccountCurrency&quot; : &quot;GBP&quot;,
                &quot;bankAccountCountryCode&quot; : &quot;EU&quot;
              },
              &quot;transferScheduleStatus&quot; : &quot;ENABLED&quot;,
              &quot;transferScheduleInformation&quot; : {
                &quot;scheduleStartDate&quot; : &quot;2024-03-01T00:00:00Z&quot;,
                &quot;scheduleEndDate&quot; : &quot;2027-03-01T00:00:00Z&quot;,
                &quot;scheduleExpression&quot; : {
                  &quot;scheduleExpressionType&quot; : &quot;RECURRING&quot;,
                  &quot;recurringFrequency&quot; : &quot;WEEKLY&quot;
                },
                &quot;scheduleType&quot; : &quot;TIME_BASED&quot;
              },
              &quot;paymentPreference&quot; : {
                &quot;paymentPreferencePaymentType&quot; : &quot;PERCENTAGE&quot;,
                &quot;value&quot; : 25.5
              },
              &quot;transferScheduleFailures&quot; : [ {
                &quot;transferScheduleFailureDate&quot; : &quot;2024-03-01T10:30:00Z&quot;,
                &quot;transferScheduleFailureReason&quot; : &quot;INSUFFICIENT_BALANCE&quot;
              } ]
            }
          }
        }
      },
      &quot;response&quot; : {
        &quot;errors&quot; : [ {
          &quot;code&quot; : &quot;InternalServerError&quot;,
          &quot;message&quot; : &quot;Internal Server Error&quot;,
          &quot;details&quot; : &quot;Internal Server Error Occurred&quot;
        } ]
      }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'updateTransferSchedule'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('TransferScheduleApi');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->updateTransferScheduleWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(500, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 500, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 500);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for updateTransferSchedule_503
     */
    public function testUpdateTransferSchedule503()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testUpdateTransferSchedule503', 'TransferScheduleApi')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;Temporary overloading or maintenance of the server.&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : {
    &quot;application/json&quot; : {
      &quot;schema&quot; : {
        &quot;$ref&quot; : &quot;#/components/schemas/ErrorList&quot;
      }
    }
  },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;body&quot; : {
            &quot;value&quot; : {
              &quot;transferScheduleId&quot; : &quot;transferScheduleIdCase503&quot;,
              &quot;transactionType&quot; : &quot;DEBIT&quot;,
              &quot;transactionDestinationAccount&quot; : {
                &quot;bankAccountHolderName&quot; : &quot;Dane Shipping&quot;,
                &quot;bankName&quot; : &quot;Royal Bank of Scotland&quot;,
                &quot;bankAccountNumberFormat&quot; : &quot;IBAN&quot;,
                &quot;bankAccountNumberTail&quot; : &quot;819&quot;,
                &quot;bankAccountCurrency&quot; : &quot;GBP&quot;,
                &quot;bankAccountCountryCode&quot; : &quot;EU&quot;
              },
              &quot;transferScheduleStatus&quot; : &quot;ENABLED&quot;,
              &quot;transferScheduleInformation&quot; : {
                &quot;scheduleStartDate&quot; : &quot;2024-03-01T00:00:00Z&quot;,
                &quot;scheduleEndDate&quot; : &quot;2027-03-01T00:00:00Z&quot;,
                &quot;scheduleExpression&quot; : {
                  &quot;scheduleExpressionType&quot; : &quot;RECURRING&quot;,
                  &quot;recurringFrequency&quot; : &quot;WEEKLY&quot;
                },
                &quot;scheduleType&quot; : &quot;TIME_BASED&quot;
              },
              &quot;paymentPreference&quot; : {
                &quot;paymentPreferencePaymentType&quot; : &quot;PERCENTAGE&quot;,
                &quot;value&quot; : 25.5
              },
              &quot;transferScheduleFailures&quot; : [ {
                &quot;transferScheduleFailureDate&quot; : &quot;2024-03-01T10:30:00Z&quot;,
                &quot;transferScheduleFailureReason&quot; : &quot;INSUFFICIENT_BALANCE&quot;
              } ]
            }
          }
        }
      },
      &quot;response&quot; : {
        &quot;errors&quot; : [ {
          &quot;code&quot; : &quot;ServiceUnavailable&quot;,
          &quot;message&quot; : &quot;Server Unavailable&quot;,
          &quot;details&quot; : &quot;Server is not accepting request&quot;
        } ]
      }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'updateTransferSchedule'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('TransferScheduleApi');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->updateTransferScheduleWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(503, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 503, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 503);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
}
